Projekt - opis
Projekt zaliczeniowy
Opis założeń
Projekt powinien zostać wykonany z wykorzystaniem ROS2 i zawierać własnoręcznie utworzone węzły (lub conajmniej pojedyczny węzeł). Wykorzystanie zewnętrznych paczek jest również możliwe (np. usb_cam
) i zalecane. Celem projektu jest utworzenie interfejsu do sterowania robotem. Proces powinien wyglądać następująco:
- Uruchomienie sterownika kamery (opcjonalne, może być kamerka laptopowa lub zewnętrzna kamera).
- Uruchomienie swojego węzł(a/ów) do sterowania robotem.
- Uruchomienie sterownika robota.
- Zaprezentowanie działania interfejsu.
Utworzony węzeł powinien pozwolić na: * w wersji najprostszej: kliknięcie na wyskakującym oknie punktu, w zależności, czy wciśnięty punkt jest nad środkiem ekranu, czy poniżej, robot przesuwa się do przodu lub do tyłu * w wersji prostej: funkcjonalność wersji najprostszej z wymogiem implementacji timera zamiast subskrybenta obrazu kamery (obraz z kamery jest niewykorzystywany, dlatego subskrybenta można zastąpić timerem) - w tej wersji nie uruchamiamy sterownika kamery * w wersji domyślnej: na ekranie wykrywany jest znacznik ArUco, w zależności, czy środek znacznika jest nad środkiem ekranu, czy poniżej, robot przesuwa się do przodu lub do tyłu
## Przykładowe zasoby Do projektu można wykorzystać przykładowe symulowane roboty, które również stacjonują w laboratorium: * UR3e * TurtleBot
W zależności od wybranego robota, zmienia się sposób sterowania. Dla robota mobilnego publikujemy komendy na temacie /cmd_vel
, natomiast dla robota UR3e na temacie /scaled_joint_trajectory_controller/joint_trajectory
. W przypadku manipulatora można obracać robota pierwszą osią (w bazie) o stały kąt, a w przypadku robota mobilnego poruszać się do przodu i do tyłu. Możliwa jest również wersja, gdzie pozycja dolna oznacza zatrzymanie się robota (pozostanie w bezruchu).
Najprostsza wersja obejmuje utworzenie projektu z wykorzystaniem robożółwia turtlesim.
Forma oddawania projektów
Projekty są oddawane na stronie kursu w zakładce “Projekt”. Możliwa jest prezentacja projektu w obecności prowadzącego lub nagranie i przesłanie demonstracji aplikacji. W przypadku chęci uruchomienia aplikacji na rzeczywistym robocie należy zgłosić się do prowadzącego.